package com.fz.service.system;

import com.fz.common.ResponseEntity;
import com.fz.dto.system.area.AreaAdd;
import com.fz.dto.system.area.AreaQuery;
import com.fz.dto.system.area.AreaUpd;
import com.fz.vo.system.area.AreaTreeVo;
import com.fz.vo.system.area.AreaVo;

/**
 * @author : xumj
 * @date : 2021/3/23 10:06
 */
public interface AreaService {
    /**
     * 返回分页地区划分
     *
     * @param pageNum   页码
     * @param pageSize  页数大小
     * @param areaQuery 地区划分查询条件
     * @return
     */
    ResponseEntity<AreaVo> findAreaList(Integer pageNum, Integer pageSize, AreaQuery areaQuery) throws Exception;

    /**
     * 返回树形结构 行政区
     *
     * @return
     */
    ResponseEntity<AreaTreeVo> findAreaTree();

    /**
     * 返回
     *
     * @param areaQuery 地区划分查询条件
     * @return
     */
    ResponseEntity<AreaVo> selectAreasList(AreaQuery areaQuery);

    /**
     * 新增
     *
     * @param areaAdd 地区划分增加
     * @return
     */
    ResponseEntity saveArea(AreaAdd areaAdd);

    /**
     * 更新
     *
     * @param areaUpd 地区划分更新
     * @return
     */
    ResponseEntity updateArea(AreaUpd areaUpd);

    /**
     * 删除
     *
     * @param ids  主键
     * @return
     */
    ResponseEntity delArea(Integer[] ids);

}
